home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / speak / src / menu.bas < prev    next >
BASIC Source File  |  1993-07-08  |  3KB  |  56 lines

  1. 10000 ' BASIC COMPILER EXP MENU
  2. 10010 ' PROGRAMMED BY Marick. 1993/01/20 FOR FTOPPARA's BASIC PROGRAM
  3. 10020 ' SYSTEM VERSION 1.0
  4. 10030 DIM A$(10),X(10),Y(10)
  5. 10040 SCREEN @0:PALETTE @:CLS:PALETTE 7,[192,192,192]:PALETTE 8,[64,64,64]
  6. 10050 PALETTE 15,[255,255,255]:PALETTE 1,[255,32,32]:PALETTE 2,[128,128,255]
  7. 10060 PALETTE 3,[255,255,64]
  8. 10070 LINE(0,0)-(639,479),PSET,%2,BF
  9. 10080 SYMBOL(100,20),"    おしゃべり人工無能!",2,2,%3,,,7
  10. 10090 SYMBOL(164,442)," 実行するイベントをクリックしてください",1,1,7,,,1
  11. 10100 SYMBOL( 80,462),"      「お気楽♪BASIC」 '93年2月号 掲載リスト より",1,1,1,,,1
  12. 10110 PUSH=-1:BUTTON=-1:I=0:SY=40:WY=32:Y1=80:X1=160:WX=16*20:MSTR=20
  13. 10120 READ A$(I):IF A$(I)="*" THEN N_MAX=I:GOTO 10150
  14. 10130 IF LEN(A$(I))<MSTR THEN A$(I)=SPACE$((MSTR-LEN(A$(I)))\2)+A$(I):A$(I)=A$(I)+SPACE$(MSTR-LEN(A$(I)))
  15. 10140 A$=A$(I):X=X1:Y=SY*I+Y1:X(I)=X:Y(I)=Y:GOSUB *BUTTON_OFF:I=I+1:GOTO 10120
  16. 10150 MOUSE 0:MOUSE 1,,,1:I=-1
  17. 10160 WHILE BUTTON<0
  18. 10170  GOSUB *POS_CHK:IF MOUSE(2,0)<>-1 THEN 10210
  19. 10180  IF PUSH>=0 AND PUSH<>I THEN                                                    A$=A$(PUSH):X=X(PUSH):Y=Y(PUSH):GOSUB *BUTTON_OFF:PUSH=-1
  20. 10190  IF I>=0 AND PUSH<>I THEN                                                       PUSH=I:A$=A$(I):X=X(I):Y=Y(I):GOSUB *BUTTON_ON
  21. 10200  GOTO 10230
  22. 10210  IF PUSH>=0 THEN A$=A$(PUSH):X=X(PUSH):Y=Y(PUSH):GOSUB *BUTTON_OFF
  23. 10220  IF PUSH=I THEN BUTTON=I ELSE PUSH=-1
  24. 10230 WEND
  25. 10240 GOTO 10450
  26. 10250  *POS_CHK
  27. 10260  N=0:I=-1:X=MOUSE(0):Y=MOUSE(1)
  28. 10270  IF N<N_MAX THEN IF X>X1 AND X<X1+WX AND Y>Y1+N*SY AND Y<Y1+N*SY+WY THEN I=N ELSE N=N+1:GOTO 10270
  29. 10280  RETURN
  30. 10290 *BUTTON_OFF
  31. 10300 W=LEN(A$)*16:LINE(X,Y)-(X+W,Y+32),PSET,%7,BF
  32. 10310 SYMBOL(X,Y),A$,2,2,1,,,1
  33. 10320 LINE(X-2,Y+32+1)-(X-1,Y-2),PSET,%15,B
  34. 10330 LINE(X-2,Y-2)-(X+W+2,Y-1),PSET,%15,B
  35. 10340 LINE(X-2,Y+32+2)-(X+W+2,Y+32+1),PSET,%8,B
  36. 10350 LINE(X+W+1,Y-2)-(X+W+2,Y+32+2),PSET,%8,B
  37. 10360 RETURN
  38. 10370 *BUTTON_ON
  39. 10380 W=LEN(A$)*16:LINE(X,Y)-(X+W,Y+32),PSET,%7,BF
  40. 10390 SYMBOL(X,Y+2),A$,2,2,1,,,1
  41. 10400 LINE(X-2,Y+32+2)-(X+W+2,Y+32+1),PSET,%15,B
  42. 10410 LINE(X+W+1,Y-2)-(X+W+2,Y+32+2),PSET,%15,B
  43. 10420 LINE(X-2,Y+32+1)-(X-1,Y-2),PSET,%8,B
  44. 10430 LINE(X-2,Y-2)-(X+W+2,Y-1),PSET,%8,B
  45. 10440 RETURN
  46. 10450 MOUSE 5:PALETTE:ON I+1 GOTO 10470,10480,10490,10500,10510:'プログラムをふやす場合はここを修正
  47. 10460 'ファイルディスクリプタに変数が使えないため、展開する(Compiler)
  48. 10470 CHAIN "REC.BAS"
  49. 10480 CHAIN "AIDIC.BAS"
  50. 10490 CHAIN "SPEAK.BAS"
  51. 10500 CHAIN "MUNO.BAS"
  52. 10510 CHAIN "SPEAK2.BAS"
  53. 10520 ' タイトルデータ,・,・,・・・,*
  54. 10530 ' 最後に*のデータを必要とする(終了識別)
  55. 10540 DATA "音声データ登録","AI基本データ作成","おしゃべり小僧","人工無能!","おしゃべり人工無能!",*
  56.